package com.ctshk.rpc.finance.dto.onaccount;

import com.ctshk.rpc.finance.json.FileJson;
import com.ctshk.rpc.finance.json.OffAccountAmountJson;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 销账详情Dto
 */
@Data
@ApiModel(value = "OffAccountApplyDTO",description = "销账详情Dto")
public class OffAccountApplyDTO implements Serializable {

    @ApiModelProperty(value = "账户类型1 大客户/代理商挂账,2 内部中心挂账,3 集团公司挂账")
    private Integer accountType;

    @ApiModelProperty(value = "账户名称")
    private String accountName;

    @ApiModelProperty(value = "联系人")
    private String contactName;

    @ApiModelProperty(value = "联系电话")
    private String contactMobile;

    @ApiModelProperty(value = "邮箱")
    private String contactEmail;

    @ApiModelProperty(value = "地址")
    private String location;

    @ApiModelProperty(value = "银行账户")
    private String bankAccount;

    @ApiModelProperty(value = "部门ID")
    private Long deptId;

    @ApiModelProperty(value = "部门名称")
    private String deptName;

    @ApiModelProperty(value = "部门code")
    private String deptCode;

    @ApiModelProperty(value = "是否使用预收款")
    private Integer useAdvanceMoney;

    @ApiModelProperty(value = "收款方式名称")
    private String paymentMethodName;

    @ApiModelProperty(value = "收款时间")
    private LocalDateTime collectionTime;

    @ApiModelProperty(value = "是否返还额度")
    private Integer isReturnAmount;

    @ApiModelProperty(value = "销账说明")
    private String remark;

    @ApiModelProperty(value = "收款凭证JSON")
    private List<FileJson> collectionFilesJson;

    @ApiModelProperty(value = "金额JSON")
    private List<OffAccountAmountJson> amountJson;

    @ApiModelProperty(value = "审批状态")
    private Integer approvalStatus;

    @ApiModelProperty(value = "审批id")
    private Long approvalId;

    @ApiModelProperty(value = "申请人名称")
    private String applyUserName;

    @ApiModelProperty(value = "申请人部门")
    private String applyUserDept;

    @ApiModelProperty(value = "销账明细列表")
    private List<OffAccountApplyDetailDTO> detailList;

}
